Members
Overall Objectives
Research Program
Application Domains
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Software and Platforms

JEScala

Functional Description

JEScala is a Scala library which implements a seamless programming model combining object-oriented, aspect-oriented, event-based and concurrent programming. Events are object members. They can be explicitly triggered as in standard event-based programming but also implicitly triggered, as join points in aspect-oriented programming. Event expressions make it possible to compose events, filter them, and alter their content. Event handlers can be registered, and unregistered, dynamically.

Concurrency can be handled without any explicit thread manipulation. By default, primitive events are synchronous but they can also be declared as asynchronous. This creates concurrency between the source of the event and its handlers. This concurrency can then be handled by composing events with the join operator and creating disjunctions of the resulting events.